<?php
 
namespace app\admin\validate;
use think\Validate; 
use app\admin\model\Clbum as ClbumModel;
use app\admin\model\StudentClbum;

class Clbum extends Validate
{
    // 验证规则
    protected $rule = [
        ['name', 'require', '班级名称必须填写'],
        ['course_id', 'require|number|checkClbum', '课程必须|错误的课程|已有学员选择班级,不能修改课程'],
        ['day_week','number|between:1,7','星期不对'],
        ['start_time', 'require|dateFormat:H:i:s', '开始时间必须填写|时间格式不正确'],//其他验证 TODO
        ['end_time', 'require|dateFormat:H:i:s|checkTime', '结束时间必须填写|时间格式不正确|结束时间必须大于开始时间'],
    ];
    
    // 修改课程验证
    protected function checkClbum($value,$rule,$data)
    {
        if (!$data['id']) {
            return true;
        }
        $info = ClbumModel::get($data['id']);
        if ($info['course_id'] == $data['course_id']) {
            return true;
        }
        return StudentClbum::get(['clbum_id'=>$data['id']]) ? false : true;
    }
    // 自定义验证规则
    protected function checkTime($value,$rule,$data)
    {
        return strtotime($data['end_time']) <= strtotime($data['start_time']) ? false : true;
    }

}